<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html lang="UTF-8">
<%@include file="/WEB-INF/include-head.jsp"%>
<script type="text/javascript" src="layer/layer.js"></script>
<link rel="stylesheet" href="css/pagination.css">
<script type="text/javascript" src="jquery/jquery.pagination.js"></script>
<script type="text/javascript" src="crowd/my-admin.js" charset="UTF-8"></script>
<script type="text/javascript">
    $(function (){
        // 调用后面声明的函数对页码导航条进行初始化操作
        initPagination();

        // // 8. 点击确认模态框中的确认删除按钮执行删除
        // $("#removeRoleBtn").click(function () {
        //     let requestBody = JSON.stringify(window.roleIdArray);
        //     $.ajax({
        //         url: "admin/remove/by/admin/id/array.json",
        //         type: "post",
        //         data: requestBody,
        //         contentType: "application/json;charset=utf-8",
        //         dataType: "json",
        //         success: function (resp) {
        //             let result = resp.result;
        //             if (result === "SUCCESS") {
        //                 layer.msg("删除成功！");
        //                 // 重新加载分页
        //                 generatePage();
        //             }
        //             if (result === "FAILED") {
        //                 layer.msg("操作失败！" + resp.message);
        //             }
        //         },
        //         error: function (resp) {
        //             layer.msg(resp.status + "" + resp.statusText);
        //         }
        //     });
        //     // 关闭模态框
        //     $("#confirmModal").modal("hide");
        //
        // });
        $("#removeRoleBtn").click(function () {
            layer.msg("暂不支持批量删除管理员，请使用单个删除按钮!")
            // 关闭模态框
            $("#confirmModal").modal("hide");
        });
        // 10.给总的checkbox绑定单机响应函数
        $("#summaryBox").click(function () {
            // 获取当前多选框自身状态
            var currentStatus = this.checked;
            // 用当前多选框状态设置其它多选框
            $(".itemBox").prop("checked", currentStatus);
        });
        // 11.全选全不选的反向操作
        $(".itemBox").click(function () {
            // 获取当前已经选中的.itemBox的数量
            var checkedBoxCount = $(".itemBox:checked").length;
            // 获取全部.itemBox的数量
            var totalBoxCount = $(".itemBox").length;
            // 使用两者的比较结果设置总的checkBox
            $("#summaryBox").prop("checked", checkedBoxCount === totalBoxCount)
        });
        // 12.给批量删除的按钮绑定单击响应函数
        $("#batchRemoveBtn").click(function () {
            // 创建数组对象用来存放后面获取到的角色对象
            var roleArray = [];
            // 遍历当前选中的多选框
            $(".itemBox:checked").each(function () {
                // 使用this引用当前遍历得到的多选框
                var roleId = this.id;
                // console.log("roleId:"+roleId);
                // 通过DOM操作获取角色名称
                var roleName = $(this).parent().next().text();
                roleArray.push({
                    roleId: roleId,
                    roleName: roleName
                });
            });
            // 检查roleArray的长度是否为0
            if (roleArray.length === 0) {
                layer.msg("请至少选择一个执行删除");
                return;
            }
            // 调用专门的函数打开确认模态框
            showConfirmModal(roleArray);
        });

    });
    function initPagination() {
        // 获取总记录数
        var totalRecord = ${requestScope.pageInfo.total};
        // 声明一个JSON对象存储Pagination要设置的属性
        var properties = {
            num_edge_entries: 3, // 边缘页数
            num_display_entries: 5, // 主体页数
            callback: pageSelectCallback,
            items_per_page:${requestScope.pageInfo.pageSize}, // 每页显示1项
            current_page: ${requestScope.pageInfo.pageNum - 1}, // Pagination内部使用pageIndex来管理页码，从0开始，而pageNum从1开始
            prev_text: "上一页",
            next_text: "下一页"
        };
        // 生成页码导航条
        $("#Pagination").pagination(totalRecord, properties);
    }
    // 用户点击页码时调用该函数实现跳转
    function pageSelectCallback(pageIndex,jQuery) {
        // 根据pageIndex计算得到pageNum
        var pageNum = pageIndex + 1;
        // 跳转页码
        window.location.href = "/admin/get/page.html?pageNum="+pageNum+"&keyword=${param.keyword}";
        // 由于每一个页码按钮都是超链接，所以在这个函数最后取消超链接的默认行为
        return false;
    }

</script>

<body>
<%@include file="/WEB-INF/include-nav.jsp"%>
<div class="container-fluid">
    <div class="row">
        <%@include file="/WEB-INF/include-sidebar.jsp"%>
        <div class="col-sm-9 col-sm-offset-3 col-md-10 col-md-offset-2 main">
            <div class="panel panel-default">
                            <div class="panel-heading">
                                <h3 class="panel-title"><i class="glyphicon glyphicon-th"></i> 数据列表</h3>
                            </div>
                            <div class="panel-body">
                                <form action="/admin/get/page.html" method="post" class="form-inline" role="form" style="float:left;">
                                    <div class="form-group has-feedback">
                                        <div class="input-group">
                                            <div class="input-group-addon">查询条件</div>
                                            <input name="keyword" value="${param.keyword}" class="form-control has-success" type="text" placeholder="请输入查询条件">
                                        </div>
                                    </div>
                                    <button type="submit" class="btn btn-warning"><i class="glyphicon glyphicon-search"></i> 查询</button>
                                </form>
                                <button id="batchRemoveBtn" type="button" class="btn btn-danger" style="float:right;margin-left:10px;"><i class=" glyphicon glyphicon-remove"></i> 删除</button>
                                <a href="/admin/page/toAdd.html" class="btn btn-primary" style="float:right;"><i class="glyphicon glyphicon-plus"></i> 新增</a>
                                <br>
                                <hr style="clear:both;">
                                <div class="table-responsive">
                                    <table class="table  table-bordered">
                                        <thead>
                                        <tr>
                                            <th width="30">#</th>
                                            <th width="30"><input id="summaryBox" type="checkbox"></th>
                                            <th>账号</th>
                                            <th>名称</th>
                                            <th>邮箱地址</th>
                                            <th width="100">操作</th>
                                        </tr>
                                        </thead>
                                        <tbody>
                                        <c:if test="${empty requestScope.pageInfo.list}">
                                            <tr>
                                                <td colspan="6" align="center">抱歉！没有查询到你要的数据</td>
                                            </tr>
                                        </c:if>
                                        <c:if test="${!empty requestScope.pageInfo.list}">
                                            <c:forEach items="${requestScope.pageInfo.list}" var="admin" varStatus="myStatus">
                                                <tr>
                                                    <td>${myStatus.count}</td>
                                                    <td><input class="itemBox" id=${admin.id} type="checkbox"></td>
                                                    <td>${admin.login}</td>
                                                    <td>${admin.userName}</td>
                                                    <td>${admin.email}</td>
                                                    <td>
                                                        <a href="/assign/to/page.html?adminId=${admin.id}&pageNum=${requestScope.pageInfo.pageNum}&keyword=${param.keyword}" class="btn btn-success btn-xs"><i class=" glyphicon glyphicon-check"></i></a>
                                                        <a href="/admin/update/${admin.id}/${requestScope.pageInfo.pageNum}/${param.keyword}.html" class="btn btn-primary btn-xs"><i class=" glyphicon glyphicon-pencil"></i></a>
                                                        <a href="/admin/remove/${admin.id}/${requestScope.pageInfo.pageNum}/${param.keyword}.html" class="btn btn-danger btn-xs"><i class="glyphicon glyphicon-remove"></i> </a>
                                                    </td>
                                                </tr>
                                            </c:forEach>
                                        </c:if>
                                        </tbody>
                                        <tfoot>
                                        <tr>
                                            <td colspan="6" align="center">
                                                <div id="Pagination" class="pagination"><!-- 这里显示分页 --></div>
                                            </td>
                                        </tr>

                                        </tfoot>
                                    </table>
                                </div>
                            </div>
                        </div>
        </div>
    </div>
</div>
<%@include file="modal-role-confirm.jsp"%>
</body>
</html>